package com.promis.util;

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class NumberUtils {

	public static String getPercent(double elememt, double denominator, int fractionDigits) {
		if (denominator == 0) return "0%";
		
		// 这里的数后面加“D”是表明它是Double类型，否则相除的话取整，无法正常使用
		double percent = elememt / denominator;
		// 获取格式化对象
		NumberFormat nt = NumberFormat.getPercentInstance();
		// 设置百分数精确度2即保留两位小数
		nt.setMinimumFractionDigits(fractionDigits);
		// 最后格式化并输出
		return nt.format(percent);
	}
	
	public static int getDivisor(int a, int b) {	// 获取两个数的公倍数
		if (a % b == 0) {
			return b;
		} else {
			return getDivisor(b, a % b);
		}
	}
	
	public static String decimal0To2(double number) {
//		NumberFormat nf = NumberFormat.getNumberInstance();
//		nf.setMaximumFractionDigits(2);
//		return nf.format(number);

		DecimalFormat df = new DecimalFormat("#.##");
		return df.format(number);
	}

	public static String decimal0To1(double number) {
//		NumberFormat nf = NumberFormat.getNumberInstance();
//		nf.setMaximumFractionDigits(1);
//		return nf.format(number);

		DecimalFormat df = new DecimalFormat("#.#");
		return df.format(number);
	}

	public static String decimal$2(double number) {
		DecimalFormat df = new DecimalFormat("0.00");
		return df.format(number);
	}

	public static String decimal$0(double number) {
		DecimalFormat df = new DecimalFormat("0");
		return df.format(number);
	}

	public static String decimal$1(double number) {
		DecimalFormat df = new DecimalFormat("0.0");
		return df.format(number);
	}

	public static String formatInteger(int number, int length) {
		return String.format("%0" + length + "d", number);
	}
}
